The present invention relates generally to an extension to a call processing language. The present invention relates more specifically to one or more extensions that enable external trusted party call processing in Session Initiation Protocol (SIP) environments.
SIP is a standard protocol for initiating an interactive user session involving multimedia elements such as video, games, voice, virtual reality and the like. In addition to initiating multimedia sessions, SIP can establish and maintain Internet telephone calls. Internet telephony is becoming increasingly popular as a means to avoid the high cost of conventional wired-line telephone charges.
SIP-based environments are assumed to become the next generation service creation platform for the Internet. As a request-response protocol, SIP accepts requests from clients and delivers responses from servers with participants identified by URLs. SIP establishes call parameters at either end of the communication session and handles the call transfer and call termination.
Call processing languages are used to tailor and adapt call control services to users"" preferences based on context information such as location, time, availability, or any other personal context information. One known call processing language is Call Processing Language (CPL), currently being standardized by the Internet Engineering Task Force (IETF) to enable call processing functionality. This known approach, however uses location and time information. Additionally, in the prior art the entire call processing logic has been assumed to be located in an SIP-compliant proxy.
CPL is specified in eXtended Mark-up Language (XML) and enables call signaling functionality like redirection or rejection based on call processing logic defined in the CPL standard. Thus, CPL is intended for call processing of incoming and outgoing Internet calls based on user-specific preferences. However, the context-specific language extensions to CPL and the possibility of executing context-specific functionality in an external trusted third-party call processing entity have not been previously defined. Additionally, there is currently no mechanism in CPL that can be used to access data stored in an external database.
CPL allows for extensions to the core language through the introduction of new language elements. This is easily accomplished because CPL is defined in XML. In the prior art there are no extensions defined to provide the functionality necessary to execute call processing on trusted third-party call processing entities. Outsourcing call processing functionality to a trusted third-party entity would be useful for several reasons. Unlike outsourcing, the execution of highly confidential context-specific logic in the central SIP proxy could be viewed as an obstacle to deployment due to privacy and security concerns. In addition, execution of logic that accesses highly confidential personal data, such as pulse rate, body temperature, etc. also raises privacy and security concerns. Finally, extending the core functionality of CPL by additional context-specific logic leads to increasing the complexity of CPL itself, which will further restrict its applicability due to execution in the central SIP-compliant proxy.
The present invention forwards call processing of SIP calls to external trusted party call processing entities for context-specific call processing. With this approach, context-aware call processing is enabled while preserving privacy by outsourcing context-aware call processing logic to external trusted parties instead of executing the process centrally at the SIP-compliant proxy. Additionally, context-specific call processing logic can be used without integrating the entire functionality into CPL, keeping the language less complex. Thus, an external trusted third-party call processing entity can provide any kind of call processing functionality and the present invention is not limited to the particular context-specific examples described herein.